Learning Objectives

After successfully completing this section, you should be able to

  1. explain what network congestion is, how it may happen, and what consequences it may cause.
  2. describe how network congestion is controlled at the transport layer.

Learning Tasks

Required:

  1. Watch the slideshow for this section
  2. Study the following sections in the textbook:

3.6 Principles of Congestion Control
3.7 TCP Congestion Control
3.8 Evolution of Transport-Layer Functionality

Terms and Topics

Section 3 – Congestion Control at the Transport Layer and Evolution of Transport-Layer Functionality

Principles of congestion control
Available bit rate (ABR)
Asynchronous transfer mode (ATM)
The causes and costs of congestion
Per-connection throughput
Offered load to the network
Buffer overflow
Approaches to congestion control
ATM ABR congestion control
Resources management cells (in ATM ABR)
Explicit forward congestion indication (EFCI) bit
Congestion indication (CI) bit
No increase (NI) bit
Explicit rate (ER) field
TCP congestion control

Congestion window
TCP self-clocking
TCP congestion control principles
TCP congestion control algorithm
Slow start
TCP splitting
Congestion avoidance
Fast recovery
TCP Tahoe
TCP Reno
Additive-increase, multiplicative-decrease (AIMD)
Macroscopic description of TCP throughput
TCP over high-bandwidth paths
fairness and UDP
fairness and parallel TCP connection

Leading Questions

  1. What is network congestion, and what are its causes?
  2. What are the two approaches to congestion control?
  3. How is network congestion controlled in an ATM ABR service?
  4. How is network congestion controlled in TCP? Why does TCP use end-to-end congestion control rather than network-assistant congestion control?
  5. What are the principles for TCP?
  6. What is per-connection throughput?
  7. What is offered load to network?
  8. What approaches to congestion control are used in TCP?
  9. How is ABR (available bit rate) approach used for congestion control in ATM networks?
  10. What is a choked packet?
  11. How does a TCP sender coordinate its sending bit rate for congestion control?
  12. What is the TCP slow start state?
  13. What is congestion avoidance? How does it work?
  14. How does TCP achieve fast recovery from missing segments?
  15. What are TCP Tahoe and TCP Reno, respectively?
  16. Why is TCP congestion control referred to as an additive-increase, multiplicative-decrease (AIMD)?
  17. How is TCP throughput measured?
  18. What is so-called fairness for TCP connections, especially when they share a single link? How is fairness achieved?
  19. How is fairness achieved in UDP?
  20. How is fairness achieved in parallel TCP connections?